#pragma once

#include "stdafx.h"

namespace natrium {
	namespace video {
		/*
		 * Configures a deferred rendering setup
		 */
		class FrameBufferObject {
		public:
			FrameBufferObject(unsigned int width, unsigned int height);
			~FrameBufferObject();

			GLuint getDepthBuffer() const;
			GLuint getPositionBuffer() const;
			GLuint getNormalBuffer() const;
			GLuint getColorBuffer() const;

			GLuint getHandle() const;

		private:
			GLuint mHandle;
		
			//stored as textures
			GLuint mDepthBuffer;
			GLuint mPositionBuffer;
			GLuint mNormalBuffer;
			GLuint mColorBuffer;
		};
	}
}